JSON/XML Response এবং CRUD অপারেশন

Java Technologies - স্প্রিং বুট ওআরএম (Spring Boot ORM) - Spring Boot ORM এবং REST API Integration
160

Spring Boot ORM (Object-Relational Mapping) একটি সহজ ও শক্তিশালী উপায়, যা Java অবজেক্ট ও রিলেশনাল ডেটাবেসের মধ্যে সংযোগ স্থাপন করতে সাহায্য করে। Spring Boot ORM সাধারণত JPA (Java Persistence API) অথবা Hibernate এর মাধ্যমে ডেটাবেসের সাথে যোগাযোগ স্থাপন করে, যেখানে ডেটা অবজেক্ট আকারে রাখা হয় এবং ডেটাবেসে সেভ/ফেচ করা হয়। এই প্রক্রিয়া ডেটা ম্যানিপুলেশনকে সহজ এবং অটোমেটেড করে তোলে।


JSON/XML Response

Spring Boot অ্যাপ্লিকেশন JSON এবং XML ফরম্যাটে রেসপন্স প্রদান করতে সক্ষম। যখন API কল করা হয়, তখন ডেটা সাধারণত JSON বা XML ফরম্যাটে রিটার্ন হয়। JSON (JavaScript Object Notation) বেশি ব্যবহৃত হলেও, কিছু অ্যাপ্লিকেশনে XML (eXtensible Markup Language) ব্যবহৃত হতে পারে। Spring Boot এর @RestController এবং @ResponseBody অ্যানোটেশন ব্যবহার করে এই ফরম্যাটে রেসপন্স প্রদান করা যায়।

JSON রেসপন্স

Spring Boot অ্যাপ্লিকেশনে JSON রেসপন্স পাওয়ার জন্য, সাধারণত @RestController অ্যানোটেশন ব্যবহার করা হয়। Spring Boot নিজেই JSON ফরম্যাটে রেসপন্স তৈরি করার জন্য Jackson লাইব্রেরি ব্যবহৃত হয়।

@RestController
public class UserController {

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable Long id) {
        return new User(id, "John Doe", "john.doe@example.com");
    }
}

উপরের কোডে, /user/{id} এ GET রিকোয়েস্ট আসলে, getUser() মেথড User অবজেক্ট রিটার্ন করবে, যা Spring Boot স্বয়ংক্রিয়ভাবে JSON ফরম্যাটে রূপান্তরিত করবে।

XML রেসপন্স

Spring Boot এ XML রেসপন্স পাওয়ার জন্য, আপনাকে JAXB (Java Architecture for XML Binding) বা Jackson XML লাইব্রেরি ব্যবহার করতে হবে। XML রেসপন্সটি কনফিগার করার জন্য Spring Boot এর @XmlRootElement অ্যানোটেশন এবং XML মেসেজ কনভার্টারের সাহায্য নিতে হবে।

@RestController
public class UserController {

    @GetMapping(value = "/user/{id}", produces = MediaType.APPLICATION_XML_VALUE)
    public User getUser(@PathVariable Long id) {
        return new User(id, "John Doe", "john.doe@example.com");
    }
}

এখানে, produces = MediaType.APPLICATION_XML_VALUE বলে দেয়া হয়েছে যে, এই API কলটি XML ফরম্যাটে রেসপন্স প্রদান করবে।


CRUD অপারেশন

Spring Boot ORM এর সাহায্যে CRUD (Create, Read, Update, Delete) অপারেশন খুব সহজভাবে করা যায়। JPA (বা Hibernate) রেপোজিটরি ব্যবহৃত হলে, আপনি সহজেই ডেটাবেসে CRUD অপারেশন করতে পারেন।

Create (তৈরি করা)

Spring Data JPA রেপোজিটরি ব্যবহার করে একটি নতুন অবজেক্ট ডেটাবেসে সেভ করা যায়।

@Repository
public interface UserRepository extends JpaRepository<User, Long> {
}

এখানে, UserRepository একটি JpaRepository ইন্টারফেস, যা User অবজেক্টের উপর CRUD অপারেশন করতে সক্ষম। এখন একটি নতুন ইউজার সেভ করার জন্য save() মেথড ব্যবহার করা যায়:

@RestController
public class UserController {

    @Autowired
    private UserRepository userRepository;

    @PostMapping("/user")
    public User createUser(@RequestBody User user) {
        return userRepository.save(user);
    }
}

এখানে @RequestBody অ্যানোটেশন ব্যবহার করে রিকোয়েস্ট বডি থেকে User অবজেক্টটি গ্রহণ করা হয়েছে এবং সেটি ডেটাবেসে সেভ করা হয়েছে।

Read (পড়া)

findById() মেথডের মাধ্যমে ডেটাবেস থেকে একটি অবজেক্ট রিট্রিভ করা যায়।

@GetMapping("/user/{id}")
public User getUser(@PathVariable Long id) {
    return userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
}

এখানে, findById() মেথড Optional<User> রিটার্ন করে, যার মধ্যে যদি ডেটা থাকে, তবে সেটি রিটার্ন হবে, না হলে একটি RuntimeException থ্রো হবে।

Update (আপডেট করা)

ডেটাবেসে কোনো অবজেক্টের তথ্য আপডেট করতে, প্রথমে সেই অবজেক্টটি ফেচ করতে হয় এবং তারপর পরিবর্তন করে সেভ করতে হয়।

@PutMapping("/user/{id}")
public User updateUser(@PathVariable Long id, @RequestBody User userDetails) {
    User user = userRepository.findById(id).orElseThrow(() -> new RuntimeException("User not found"));
    user.setName(userDetails.getName());
    user.setEmail(userDetails.getEmail());
    return userRepository.save(user);
}

এখানে, প্রথমে ইউজার ডেটা খুঁজে বের করে, তারপর সেটি আপডেট করা হয়েছে এবং save() মেথডের মাধ্যমে পরিবর্তিত ডেটা ডেটাবেসে সেভ করা হয়েছে।

Delete (মুছে ফেলা)

কোনো অবজেক্ট ডেটাবেস থেকে মুছে ফেলার জন্য deleteById() মেথড ব্যবহার করা যায়।

@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Long id) {
    userRepository.deleteById(id);
}

এখানে, deleteById() মেথড দিয়ে ইউজারের তথ্য ডেটাবেস থেকে মুছে ফেলা হয়েছে।


সারাংশ

Spring Boot ORM (JPA/Hibernate) এর মাধ্যমে সহজে ডেটাবেসের সাথে কাজ করা সম্ভব হয়। JSON বা XML রেসপন্সের মাধ্যমে API ডেভেলপমেন্ট করা যায় এবং CRUD (Create, Read, Update, Delete) অপারেশন Spring Data JPA রেপোজিটরি ব্যবহার করে খুব সহজভাবে করা সম্ভব। Spring Boot এই সব কাজকে দ্রুত ও কার্যকরভাবে সম্পাদন করতে সক্ষম।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...